package com.ruoyi.article.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 文章 对象 ac_article
 * 
 * @author rey
 * @date 2022-02-04
 */
public class Article extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 博文ID */
    private Long articleId;

    /** 发布日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pushData;

    /** 发表用户 */
    @Excel(name = "发表用户")
    private String articleUser;

    /** 博文标题 */
    @Excel(name = "博文标题")
    private String title;

    /** 点赞数 */
    @Excel(name = "点赞数")
    private Long likeCount;

    /** 评论数 */
    @Excel(name = "评论数")
    private Long commentCount;

    /** 浏览量 */
    @Excel(name = "浏览量")
    private Long readCount;

    /** 是否置顶 */
    @Excel(name = "是否置顶")
    private String topFlag;

    /** 文章摘要 */
    @Excel(name = "文章摘要")
    private String articleSummary;

    @Excel(name = "发布表示")
    private Integer enable;

    private String content;

    private String htmlContent;

    private List<Long> tagIds;

    private List<Long> typeIds;

    private String keywords;

    private String description;

    public void setArticleId(Long articleId) 
    {
        this.articleId = articleId;
    }

    public Long getArticleId() 
    {
        return articleId;
    }
    public void setPushData(Date pushData) 
    {
        this.pushData = pushData;
    }

    public Date getPushData() 
    {
        return pushData;
    }
    public void setArticleUser(String articleUser) 
    {
        this.articleUser = articleUser;
    }

    public String getArticleUser() 
    {
        return articleUser;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setLikeCount(Long likeCount) 
    {
        this.likeCount = likeCount;
    }

    public Long getLikeCount() 
    {
        return likeCount;
    }
    public void setCommentCount(Long commentCount) 
    {
        this.commentCount = commentCount;
    }

    public Long getCommentCount() 
    {
        return commentCount;
    }
    public void setReadCount(Long readCount) 
    {
        this.readCount = readCount;
    }

    public Long getReadCount() 
    {
        return readCount;
    }
    public void setTopFlag(String topFlag) 
    {
        this.topFlag = topFlag;
    }

    public String getTopFlag() 
    {
        return topFlag;
    }
    public void setArticleSummary(String articleSummary) 
    {
        this.articleSummary = articleSummary;
    }

    public String getArticleSummary() 
    {
        return articleSummary;
    }

    public Integer getEnable() {
        return enable;
    }

    public void setEnable(Integer enable) {
        this.enable = enable;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getHtmlContent() {
        return htmlContent;
    }

    public void setHtmlContent(String htmlContent) {
        this.htmlContent = htmlContent;
    }

    public List<Long> getTagIds() {
        return tagIds;
    }

    public void setTagIds(List<Long> tagIds) {
        this.tagIds = tagIds;
    }

    public List<Long> getTypeIds() {
        return typeIds;
    }

    public void setTypeIds(List<Long> typeIds) {
        this.typeIds = typeIds;
    }

    public String getKeywords() {
        return keywords;
    }

    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("articleId", getArticleId())
            .append("pushData", getPushData())
            .append("articleUser", getArticleUser())
            .append("title", getTitle())
            .append("likeCount", getLikeCount())
            .append("commentCount", getCommentCount())
            .append("readCount", getReadCount())
            .append("topFlag", getTopFlag())
            .append("createTime", getCreateTime())
            .append("articleSummary", getArticleSummary())
            .toString();
    }
}
